<?php

abstract class payment {

    public $callbackUrl;
    public $serverCallbackUrl;
    public $cancelCallbackUrl;

    public function __construct($method) {
        $this->callbackUrl = U('Payment/callback/_method/' . $method, [], false, true);
        $this->serverCallbackUrl = U('Payment/server_callback/_method/' . $method, [], false, true);
        $this->cancelCallbackUrl = U('Payment/cancel_callback/_method/' . $method, [], false, true);
    }

    abstract function createHtml($data);

    abstract function callback($data, &$order_id,&$message);

    abstract function serverCallback($data, &$order_id,&$message);

    abstract function cancelCallback($data, &$order_id,&$message);
    
    abstract function stopNotify();
}
